Currently, an increase in system scale and a phenomenon where what has not been systematized is suddenly turned into a large-scale system are in progress in various fields. A typical example of the former is found in the IT field such as data centers and networks that are related to a technology called cloud, and the scale thereof is increasing year after year. An example of the latter is found in the infrastructure field such as electric power, energy networks, and cities, which are all of a sudden becoming targets to be controlled as a smart grid, a smart city, or other large-scale system cases. How large-scale systems are to be controlled is therefore expected to be a very important issue in the near future.
Examples of control exerted in a system of the IT field include load balancing among computer resources, network load balancing, and decentralized storage arrangement. How load balancing among computer resources is controlled is described by taking as an example a load balancing method that is targeted for a data center (DC) including a plurality of servers.
The basic idea of conventional control eventuates in “balancing the internal state of the system”, which is rather unsophisticated. With this mindset, while the control policy is clear in the case of a uniform system (where the plurality of servers are identical servers), what index is to be the basis of balancing is not clear in a mixed-machine system where different types of machines are used. For instance, while it is known that the CPU utilization ratios of the respective servers are to be balanced in the case of servers having the same performance, it is not obvious how to balance the CPU utilization ratios of servers that have different performance characteristics in a manner that reflects the servers' respective performance. A result obtained by the queuing theory, which is an index often used in conventional control, is an index based on the theory of probability, and tells nothing about what means to use in order to lead the system to a stochastically steady state. What this means is that, although requirements to be fulfilled such as response and throughput may be satisfied eventually, there are no guarantees or limitations with regard to processes in the middle and the situation of resources that are ultimately used. In other words, the resultant control is merely for fulfilling the required performance irrespective of whether the system is in a very inefficient state in terms of energy. Under such control, the inefficiency grows as the system increases in scale, and is expected to be a serious problem.
Control in the infrastructure field, typically, smart grid, is also attracting attention these days. This is because, with the arrival of energy-conscious society, situations are emerging where solar energy and other renewable energy sources are connected to conventional electric power grids, in addition to the desire for fine control to cut the waste of energy, and power supply from an electric power grid therefore becomes unstable instead unless the electric power grid is controlled as a total system including renewable energy. Efficient control of such new control targets, too, is therefore an important issue.
System control methods are roughly divided into two: one is centralized control and the other is autonomous decentralized control. Centralized management is easier for systems that are not so large, and many systems have been controlled in a centralized manner up to now. Centralized control is also suitable for cases where disturbance external to the system can be predicted and cases where what components constitute the system can be envisioned. In short, centralized control is very effective for predictable environments or scales that allow an overview. Centralized control is control in which an accurate overall picture of the system is grasped constantly, to thereby determine the situation and what action is to be taken. Simply put, centralized control is a method of setting down codes by if-then-else.
However, centralized systems are finding it difficult to handle large-scale systems due to the increase in system scale of these days, and autonomous decentralized systems are actively being studied. Autonomous decentralized control is control in which components such as resources operate using only relations among the components, and does not always need accurate overall information. As the system scale increases, knowing accurate overall information becomes more difficult and autonomous decentralized control is accordingly desired more. In electric power grids, typically smart grids, where predicting timing at which renewable energy is input to the system is difficult, centralized control may not be able to deal with a change in resource in real time. In IT systems, too, considering accidents such as a failure, autonomous control under which the system operates in real time so as to repair damage from an accident autonomously is naturally preferred to centralized control that is designed with such events in mind. Autonomous decentralized control is being studied actively because of these demands.
While a lot of people are studying self-proclaimed autonomous decentralized systems, it is also a fact that a very high percentage of the proposed ones are systems in which components merely exist in an autonomous decentralized manner and are overall not in concert with one another. These are not autonomous decentralized systems in its true sense. It is easy to create a system in which components exist in an autonomous decentralized manner, but there is no sense in designing a system in which components are overall not in concert with one another, or components do not operate for the goal of overall optimum. It is a system in which components operate for the goal of overall optimum in an autonomous decentralized manner that should be called an autonomous decentralized system. What constitutes such a true autonomous decentralized system?
Actually, such a system can be found close to home: the system of living organisms or brains is the true autonomous decentralized system. Autonomous decentralized systems taken after living organisms or brains are therefore actively being researched these days.
A very interesting study among them is a technology that uses “yuragi (which means “fluctuation” in Japanese) equation” (“Technological Innovation with Yuragi”, Osaka University Yuragi Project, 2008). This is a technology of controlling components based on the yuragi equation, which is expressed by the following Expressions (1) and (2).
                                          ⅆ            x                                ⅆ            t                          =                                            f              ⁡                              (                x                )                                      ·            Activity                    +          η                                    (        1        )                                          f          ⁡                      (            x            )                          =                  -                                    ∂              U                                      ∂              x                                                          (        2        )            
In the expressions, Activity is a type of bias and a function that takes a large value at a point x where the system in question feels comfortable. Symbols Ti and U respectively represent random noise and potential for driving the system.
The yuragi equation is similar to a Langevin equation expressed by the following Expression (3). These equations superficially resemble each other but there is a critical difference from the standpoint of engineering.
                                          ⅆ            x                                ⅆ            t                          =                              -                                          ∂                U                                            ∂                x                                              +          η                                    (        3        )            
The only difference between the yuragi equation and the Langevin equation is Activity. In a sense, the yuragi equation seems merely an expression in which potential is divided into U and Activity. This, however, creates the critical difference.
Hitherto, when the Langevin equation is used to control something, the potential U needs to be obtained accurately. A problem for obtaining potential with regard to a non-linear, intricate problem is very difficult, and there are few cases where the problem can be solved analytically. Machine learning and reinforcement learning which are popular nowadays are in actuality physically equal to obtaining the potential of a system, and use a neural network or the like to obtain the potential by a black-box approach. At present, there is no other way than the black-box approach to obtain potential for a non-linear, intricate problem with conventional technologies.
Anyway, obtaining potential is equal to setting a model, and aiming for more complex operation therefore complicates a potential function extremely, which gives rise to a problem in that an event cannot fully be expressed by a single potential function. A solution to this is the yuragi equation.
In the yuragi equation, comfortableness felt by the system is separated as Activity from the overall potential, thereby enabling a person to specify the operation of the system in a top-down manner. Specifically, Activity is set so that operation expected from the system is implemented. For instance, when one wishes to move a system to a point, a function that takes a maximum value at the desired point is given as Activity. In the case where the system is far from the desired point, the first term of the right-hand side of Expression (1) takes a small value, and components of the system are therefore driven by random noise of the second term of the right-hand side. This is a state similar to Brown motion if the components of the system are to be likened to particles. The system positioned far from the desired point in some cases accidentally comes close to the desired point through random movement such as Brown motion. The first term of the right-hand side of Expression (1) in this case takes a large value because of the action of the Activity function. Then what governs system operation shifts from the second term of the right-hand side to the first term of the right-hand side. Once the first term of the right-hand side starts controlling the system, the system now naturally settles at a potential point where Activity is maximum. In short, the desired point is reached.
What is important here is that, when the yuragi equation is used, only Activity is determined in a top-down manner without issuing a special command to the components of the system or exerting special control on the components of the system. An output to be given to each component of the system is an output that is in proportion to the value of the right-hand side of Expression (1). Cases where there are a plurality of components can similarly be dealt with by giving outputs that are in proportion to the right-hand side of Expression (1). In this case, random noise in one driving unit is independent of random noise in another driving unit. Activity, on the other hand, is the same for all components. This way, despite the respective components simply operating in accordance with their individual versions of Expression (1), the action of Activity which integrates the overall system causes the components to eventually operate in concert with one another on the whole and move to a point where Activity is maximum.
A system comprising a plurality of components, too, can thus operate in an autonomous-decentralized, concerted manner by using the yuragi equation. As disclosed in Patent Literature 1, for example, autonomous decentralized control of network paths using this technology is being studied and results indicating effectiveness such as autonomous avoidance of failure have been obtained (Patent Literature 1).